package cc.fine.svc.main.bean.dto;

import cc.fine.svc.main.bean.po.TblTag;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @AUTHOR: wyihe
 * @DATE: 2023/10/30
 */
@Data
public class VideoInfoDto implements Serializable {


    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "视频介绍")
    private String detail;

    @ApiModelProperty(value = "视频封面")
    private String cover;

    @ApiModelProperty(value = "视频链接")
    private String url;

    @ApiModelProperty(value = "视频状态，0默认，-1停用，大于0表示被举报的次数")
    private Integer state;

    @TableField(fill = FieldFill.INSERT)
    private Date gmtCreate;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date gmtUpdate;

    // ---------------------- count --------

    @ApiModelProperty(value = "播放量")
    private int viewCount;

    @ApiModelProperty(value = "点赞数")
    private int favorCount ;


    @ApiModelProperty(value = "评论数")
    private int commonCount;

    @ApiModelProperty(value = "收藏数")
    private int collectCount;

    @ApiModelProperty(value = "分享数")
    private int shareCount;

    // ---------- Tag

    @ApiModelProperty(value = "视频的标签")
    private List<TblTag> tags;
}
